# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Contributor: Johannes Matheis <jomat+alpinebuild@jmt.gr>
# Maintainer: Johannes Matheis <jomat+alpinebuild@jmt.gr>
pkgname=mumble
pkgver=1.3.2
pkgrel=0
pkgdesc="Low-latency, high quality voice chat software"
url="https://wiki.mumble.info/"
arch="all"
license="BSD-3-Clause"
options="!check"
depends="qt5-qtbase-sqlite"
makedepends="qt5-qtbase-dev libsndfile-dev boost-dev avahi-dev protobuf-dev
	libxi-dev speex-dev speexdsp-dev libcap-dev alsa-lib-dev qt5-qtsvg-dev
	qt5-qttools-dev opus-dev
	"
install="murmur.pre-install"
pkgusers="murmur"
pkggroups="murmur"
subpackages="$pkgname-doc murmur murmur-doc:murmur_doc:noarch"
source="https://github.com/mumble-voip/mumble/releases/download/$pkgver/mumble-$pkgver.tar.gz
	murmur.initd"

# secfixes:
#   1.2.19-r9:
#     - CVE-2018-20743

build() {
	qmake-qt5 -recursive main.pro \
		CONFIG+="no-speechd no-g15 no-ice bundled-celt no-embed-qt-translations no-bundled-speex no-bundled-opus no-rnnoise" \
		DEFINES+="PLUGIN_PATH=/usr/lib/mumble"

	make release
}

package() {
	# Binaries.
	local _ver=${pkgver%_rc*}
	local _maj=$( echo "$_ver" | cut -d. -f1)
	local _min=$( echo "$_ver" | cut -d. -f2)
	install -Dm755 ./release/mumble \
		"$pkgdir"/usr/bin/mumble
	install -Dm755 ./scripts/mumble-overlay \
		"$pkgdir"/usr/bin/mumble-overlay

	# Libraries.
	install -Dm755 ./release/libmumble.so.$_ver \
		"$pkgdir"/usr/lib/mumble/libmumble.so.$_ver
	for lib in libmumble.so libmumble.so.$_maj libmumble.so.$_maj.$_min; do
		ln -s libmumble.so.$_ver \
			"$pkgdir"/usr/lib/mumble/$lib
	done
	install -Dm755 ./release/plugins/liblink.so \
		"$pkgdir"/usr/lib/mumble/liblink.so
	install -Dm755 ./release/libcelt* \
		"$pkgdir"/usr/lib/mumble/

	# Misc.
	install -Dm644 ./LICENSE \
		"$pkgdir"/usr/share/licenses/$pkgname/LICENSE
	install -Dm644 ./scripts/mumble.desktop \
		"$pkgdir"/usr/share/applications/mumble.desktop
	install -Dm644 ./icons/mumble.svg \
		"$pkgdir"/usr/share/icons/hicolor/scalable/apps/mumble.svg

	# Man pages.
	mkdir -p "$pkgdir"/usr/share/man/man1/
	install -m644 ./man/mum* "$pkgdir"/usr/share/man/man1/
}

murmur() {
	pkgdesc="Murmur is the server component of Mumble"
	cd "$builddir"

	install -o murmur -g murmur -dm755 \
		"$subpkgdir"/var/lib/murmur
	install -Dm755 ./release/murmurd \
		"$subpkgdir"/usr/bin/murmurd
	install -Dm644 ./scripts/murmur.ini \
		"$subpkgdir"/etc/murmur.ini

	sed 's/^database=$/database=\/var\/lib\/murmur\/murmur.sqlite/;\
		s/^;uname=$/uname=murmur/;\
		s/^;logfile=murmur.log$/logfile=\/var\/log\/murmur.log/;\
		s/^;pidfile=$/pidfile=\/var\/run\/murmur\/murmur.pid/'\
		-i "$subpkgdir"/etc/murmur.ini

	install -Dm644 ./scripts/murmur.conf \
		"$subpkgdir"/etc/dbus-1/system.d/murmurd.conf
	sed "s/mumble-server/murmur/" \
		-i "$subpkgdir"/etc/dbus-1/system.d/murmurd.conf

	install -Dm755 "$srcdir"/murmur.initd \
		"$subpkgdir"/etc/init.d/murmur
}

murmur_doc() {
	pkgdesc="Murmur is the server component of Mumble"

	cd "$builddir"
	install -Dm644 ./man/murmurd.1 \
		"$subpkgdir"/usr/share/man/man1/murmurd.1
	install -Dm644 ./LICENSE \
		"$subpkgdir"/usr/share/licenses/murmur/LICENSE
	default_doc
}

sha512sums="3f5e3b586efbe9b49c7f14119072f4842bbd885f9c5145cdaa129a87c7fc85107d0735a3107f5a2789cec9fdadda1200ab4a6d76c3caee409d3e38406a8ba27f  mumble-1.3.2.tar.gz
c74ade232146a180448cb0027503f59642000bee50613a1fb99162cdc4bc81089ab4e84e51b0bbdac5c176eb52b76e6bd2b3ec790a9148135a1fc050569921c3  murmur.initd"
